package com.atguigu.jxc.controller;

import com.atguigu.jxc.domain.ServiceVO;
import com.atguigu.jxc.entity.GoodsType;
import com.atguigu.jxc.service.GoodsTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.websocket.server.PathParam;
import java.util.ArrayList;
import java.util.List;

/**
 * @description 商品分类信息Controller
 */
@RestController
@RequestMapping("/goodsType")
public class GoodsTypeController {
    @Autowired
    GoodsTypeService goodsTypeService;

    /*查询商品所有分类
    * 请求URL：http://localhost:8080/goodsType/loadGoodsType
        请求参数：无
        请求方式：POST
        返回值类型：JSON
        返回值：String
    * */
    @PostMapping("/loadGoodsType")
    @ResponseBody
    public String getListGoodsType(){
        return goodsTypeService.getGoodsTree() ;
    }

    /*商品管理中新增分类
    * 请求URL：http://localhost:8080/goodsType/save
        请求参数：String  goodsTypeName,Integer  pId
        请求方式：POST
        返回值类型：JSON
        返回值：ServiceVO
    * */
    @PostMapping("/save")
    @ResponseBody
    public ServiceVO addGoodsType(@RequestParam(value = "goodsTypeName") String  goodsTypeName,
                                  @RequestParam(value = "pId") Integer  pId){
        return goodsTypeService.addGoodsType(goodsTypeName,pId);
    }

    /*商品管理中删除分类
    * 请求URL：http://localhost:8080/goodsType/delete
        请求参数：Integer  goodsTypeId
        请求方式：POST
        返回值类型：JSON
        返回值：ServiceVO
    *
    * */
    @PostMapping("/delete")
    @ResponseBody
    public ServiceVO deleteGoodsType(@PathParam("goodsTypeId") Integer goodsTypeId){
        return goodsTypeService.deleteGoodsType(goodsTypeId);
    }
}
